﻿using Abp.Application.Services;
using Abp.Application.Services.Dto;
using shenghua.Authorization.Users;
using shenghua.Commodity.Commodities.Dto;
using shenghua.Common.Dto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace shenghua.Commodity.Commodities
{
    public interface ICommodityAppService : IApplicationService
    {
        Task<CommodityDto> CreateCommodity(CreateCommodityDto input);
        Task<CommodityDto> UpdateCommodity(UpdateCommodityDto input);
        Task<CommodityDto> Get(EntityDto input);
        Task<RealCommodityDto> GetShelved(GetRealCommodityDto input);
        Task<SearchResultDto<CommodityDto>> Search(SearchCommodityDto input);
        Task<SearchResultDto<RealCommodityDto>> SearchShelved(SearchCommodityDto input);
        Task<CommodityDescriptionDto> GetShelvedDescription(EntityDto input);
        Task Delete(DeleteDto input);
        Task Shelved(EntityDto input);
        Task NotShelved(EntityDto input);
        Task<List<CommodityDto>> GetProfiles(BatchIntIdDto input);

        Task EnabledShoppingOption(EntityDto input);
        Task DisabledShoppingOption(EntityDto input);
        Task<ShoppingOptionDto> AddShoppingOption(CreateShoppingOptionDto input);
        Task<ShoppingOptionDto> UpdateShoppingOption(UpdateShoppingOptionDto input);
        Task DeleteShoppingOption(DeleteDto input);
        Task<List<ShoppingOptionDto>> GetAllShoppingOptions(EntityDto input);
    }
}



